package com.project.nimsen.util;

import java.io.File;

/**
 * 文件操作类
 * */
public class FileUtil {
	/**
	 * 删除一个指定的文件或文件夹
	 * */
	public static boolean DeleteFolder(String sPath) {
		File file = new File(sPath);
		if (!file.exists())
			return false;
		else {
			if (file.isFile())
				return DeleteFile(sPath);
			else
				return DeleteDirectory(sPath);
		}
	}
	/**
	 * 删除一个文件
	 * */
	public static boolean DeleteFile(String sPath) {
		File file = new File(sPath);
		if (file.isFile() && file.exists()) {
			file.delete();
			return true;
		}
		return false;
	}
	/**
	 * 删除一个文件夹
	 * */
	public static boolean DeleteDirectory(String sPath) {
		// 如果sPath不以文件分隔符结尾，自动添加文件分隔符
		if (!sPath.endsWith(File.separator)) {
			sPath = sPath + File.separator;
		}
		File dirFile = new File(sPath);
		// 如果dir对应的文件不存在，或者不是一个目录，则退出
		if (!dirFile.exists() || !dirFile.isDirectory())
			return false;
		// 删除文件夹下的所有文件(包括子目录)
		File[] files = dirFile.listFiles();
		for (int i = 0; i < files.length; i++) {
			// 删除子文件
			if (files[i].isFile()) {
				if (!DeleteFile(files[i].getAbsolutePath()))
					return false;
			} else {
				if (!DeleteDirectory(files[i].getAbsolutePath()))
					return false;
			}
		}
		return dirFile.delete();
	}
}
